#include "template_method.h"

#include <iostream>
#include <memory>

int main(int argc, char** argv)
{
	std::unique_ptr<AbstractClass> class1(new ConcreteClass1());
	std::unique_ptr<AbstractClass> class2(new ConcreteClass2());
	
	class1->TemplateMethod();
	class2->TemplateMethod();
	
	return 0;
}